Last active
July 21, 2019 13:45
-
-
Save Aldlevine/3f716f447322edbb3671 to your computer and use it in GitHub Desktop.
window.performance.now --- polyfill
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(function(){ | |
// performance.now already exists | |
if(window.performance && window.performance.now) | |
return; | |
// performance exists and has the necessary methods to hack out the current DOMHighResTimestamp | |
if( | |
window.performance && | |
window.performance.timing && | |
window.performance.timing.navigationStart && | |
window.performance.mark && | |
window.performance.clearMarks && | |
window.performance.getEntriesByName | |
){ | |
window.performance.now = function(){ | |
window.performance.clearMarks('__PERFORMANCE_NOW__'); | |
window.performance.mark('__PERFORMANCE_NOW__'); | |
return window.performance.getEntriesByName('__PERFORMANCE_NOW__')[0].startTime; | |
}; | |
return; | |
} | |
// All else fails, can't access a DOMHighResTimestamp, use a boring old Date... | |
window.performance = window.performance || {}; | |
var start = (new Date()).valueOf(); | |
window.performance.now = function(){ | |
return (new Date()).valueOf() - start; | |
}; | |
})(); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Hello,
I have mixed this polyfill with Paul Irish's (https://gist.github.com/paulirish/5438650) and modifier some code:
I have placed it in this gist: https://gist.github.com/jalbam/cc805ac3cfe14004ecdf323159ecf40e
Any comments will be welcome. Thank you very much.